import News from '@/views/News'
import Detail from '@/views/Detail'
import Login from '@/views/Login'

const routes = [
  {
    path: '/news',
    component: News,
    // 路由独享守卫 ==》 只有当前的路由规则下它才生效
    beforeEnter: (to, from, next) => {
      console.log('路由独享守卫 --- beforeEnter')
      next()
    },
    meta: {
      // 只此属性表示必须登录才能访问
      isAuth: true
    }
  },
  {
    // 通过动态路由参数来完成页面数据的传递
    path: '/news/:id',
    // 给当前规则起一个名称，用于路由跳转所用
    name: 'xw',
    // component: Detail,
    // component使用函数的方式调用组件,component函数的方式,一定要求必须返回的是一个Promise对象
    // component:
    // 回调函数，有些作用
    // router它就是一个路由对象
    // 数据埋点 方案之1  ==》 用户指纹
    /* props: router => {
      // console.log(router);
      let title = router.params.id == '1000' ? '爆炸新闻' : '一般新闻'
      return {
        state: 2000,
        title
      }, }*/
    // props: { title: '1', state: 2 }
    // 布尔类型，一但使用，params动态路由参数传的数据，可以通过props来获取
    // 设置为布尔类型，可以简化，动态路由参数的数据获取
    props: true,
    beforeEnter: (to, from, next) => {
      console.log('路由独享守卫 -- detail --- beforeEnter')
      next()
    }
  },
  {
    // 这是登录页
    path: '/login',
    component: Login,
    beforeEnter: (to, from, next) => {
      console.log('路由独享守卫 ==login -- --- beforeEnter')
      next()
    },
    // 元信息 reflect-metadata
    meta: {
      title: '我是一个登录页面',
      a: 1,
      b: {},
      c: []
    }
  }
]

export default routes
